package com.twb.message.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.twb.auth.entity.twbUser.dto.TwbUserDto;
import com.twb.core.base.mapper.TwbBaseMapper;
import com.twb.message.entity.messageReceivor.MessageReceivor;
import com.twb.message.entity.messageReceivor.dto.SearchMessageReceivorDto;
import com.twb.message.entity.messageReceivor.vo.PublishByMessageIdVo;
import com.twb.message.entity.messageReceivor.vo.SearchMessageReceivorVo;

/** 
 * @ClassName MessageReceivorMapper 
 * @Description 系统消息接收人信息Mapper
 
 * @author DHL
 * @date 2021-07-14 09:27:31 
 */ 
@Mapper
public interface MessageReceivorMapper extends TwbBaseMapper<MessageReceivor> {

	/**
	 * @Title  searchMessageReceivor
	 * @Description 系统消息接收人信息列表查询（含查询条件）
	 * @param vo
	 * @return
	 * @author DHL
	 * @date 2021-07-14 09:27:31
	 */
	List<SearchMessageReceivorDto> searchMessageReceivor(SearchMessageReceivorVo vo);

	/**
	 * @Title  logicBatchDeleteByIds
	 * @Description 批量删除
	 * @param ids
	 * @return
	 * @author DHL
	 * @date 2021-07-14 09:27:31
	 */
	int logicBatchDeleteByIds(List<String> ids);

	/**
	 * @Title publishByMessageId
	 * @Description 根据消息ID发布消息
	 * @param vo
	 * @return
	 * @author DHL
	 * @date 2021年7月15日 上午9:19:43
	 */
	int publishByMessageId(PublishByMessageIdVo vo);
	
	/**
	 * @Title listMessageReceivorUsers
	 * @Description 查询接收用户信息
	 * @param messageId
	 * @return
	 * @author DHL
	 * @date 2021年7月15日 下午2:01:53
	 */
	List<TwbUserDto> listMessageReceivorUsers( @Param("messageId") String messageId);

	/**
	 * @Title searchUserMessageNum
	 * @Description 查询用户待阅消息数
	 * @param messageReceivor
	 * @return
	 * @author DHL
	 * @date 2021年7月16日 上午10:47:45
	 */
	int searchUserMessageNum(@Param("projectId") String projectId, @Param("userId") String userId, @Param("readStatus") String readStatus);
}
